import {HTTP} from "../utils/http-p.js";

class BookModel extends HTTP{

    /**
     * 获取服务器返回的热门搜索内容
     * @returns {Promise | Promise<unknown>}
     */
    getHotList(){
        return this.request({url:'book/hot_list'})
    }

    /**
     * 点击搜索q之后，向服务器发送搜索请求
     * 三个参数：summary=1代表简要内容，q代表输入框的内容，start代表返回数据条数从0开始
     * @param start
     * @param q
     * @returns {Promise | Promise<unknown>}
     */
    search(start, q){
        return this.request({
            url:'book/search?summary=1',
            data:{
                q:q,
                start:start
            }
        })
    }

    /**
     * 获取书籍总数量
     * @returns {Promise | Promise<unknown>}
     */
    getMyBookCount(){
        return this.request({url:'book/favor/count'});
    }

    /**
     * 根据book的id获取书籍详情
     * @param bid
     * @returns {Promise | Promise<unknown>}
     */
    getDetail(bid){
        return this.request({url:`book/${bid}/detail`})
    }

    /**
     * 根据book的id获取书籍的喜欢状态
     * @param bid
     * @returns {Promise | Promise<unknown>}
     */
    getLikeStatus(bid){
        return this.request({url:`book/${bid}/favor`})
    }

    /**
     * 根据book的id获取书籍的短评
     * @param bid
     * @returns {Promise | Promise<unknown>}
     */
    getComments(bid){
        return this.request({url:`book/${bid}/short_comment`})
    }

    /**
     * 根据bid，向服务器发送端评comment
     * @param bid
     * @param comment
     * @returns {Promise | Promise<unknown>}
     */
    postComment(bid, comment){
        return this.request({
            url: 'book/add/short_comment',
            method: 'POST',
            data:{
                book_id:bid,
                content: comment
            }
        })
    }
}

export {BookModel}